from flask import Flask, jsonify, request
from fundsList import all_funds

# 创建 Flask 应用实例
app = Flask(__name__)

# 示例 1：返回一个简单的欢迎信息
@app.route('/api/hello', methods=['GET'])
def hello():
    return jsonify({
        "message": "Hello from Flask backend!",
        "status": "success"
    })

@app.route('/api/funds', methods=['GET'])
def funds():
    funds = all_funds()
    return jsonify({
        "message": funds,
        "status": "success"
    })

# 示例 2：接收 URL 参数并返回处理结果
@app.route('/api/greet', methods=['GET'])
def greet():
    name = request.args.get('name', 'Guest')  # 默认值为 'Guest'
    return jsonify({
        "greeting": f"Hello, {name}!",
        "status": "success"
    })

# 示例 3：接收 POST 请求中的 JSON 数据并返回响应
@app.route('/api/echo', methods=['POST'])
def echo():
    data = request.get_json()  # 获取前端发送的 JSON 数据
    if not data:
        return jsonify({"error": "No JSON data provided"}), 400
    return jsonify({
        "received_data": data,
        "status": "success"
    })

# 示例 4：模拟从数据库或服务获取数据（这里硬编码）
@app.route('/api/users', methods=['GET'])
def get_users():
    users = [
        {"id": 1, "name": "Alice"},
        {"id": 2, "name": "Bob"},
        {"id": 3, "name": "Charlie"}
    ]
    return jsonify({
        "users": users,
        "total": len(users)
    })

# 启动服务器（仅开发环境使用）
if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)